在 windows 中,PowerShell 有個很常用的內建 Cmdlet 叫做 Invoke-WebRequest,他可以幫我們發出一個 HTTP 要求,從網路上下載一個檔案,有很多情況都會用到。
Invoke-WebRequest
有個很簡便的別名wget
,可以縮短這個Cmdlet
命令。
使用 powershell 下載的過程中你會看到如下進度調顯示,這是 powershell 的偏好設定變數 (Preference Variables) $ProgressPreference
,他的預設值為 continue
所導致,這個設定在 Cmdlet
執行時會預設顯示進度列:
這個看起來很方便的進度條,可能造成下載檔案的執行速度降低,如果想了解執行速度相關指令可以參考 Measure-Command,接著我們要將 $ProgressPreference
這個設定變數改為 SilentlyContinue
,然後重新執行 Powershell
。
首先,找到這個檔案
%USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
沒有這個檔案的話可以自己建立一個,他的路徑在 WindowsPowerShell
下,我們先切換到該目錄:
cd .\Documents\WindowsPowerShell\
接著在該目錄找到檔案
ls
使用自己的編譯器打開,這邊使用 VSCode,接著加入
$ProgressPreference = 'SilentlyContinue'
如下,為了不誤導,其餘不相關已註解掉
最後存檔,關閉 .ps1
檔案,重新啟動 Powershell
即可